package com.sjms._18_行为_备忘录模式;

/**
 * 备忘录模式（存档模式）
 * 持久化保存当前类或对象的状态
 * 可以执行 撤销、切换、回滚、恢复 等变更状态的操作
 * <p>
 * 存在一个备忘录对象（比如 HashMap、自定义对象），来保存某一时刻记录状态
 * 还原时只是还原内部属性，而不是重新创建对象
 * 比如使用： HashMap、JSON字符串 保存记录, 还原时只是还原当前对象的属性，而不是重新创建对象
 * <p>
 * 成员属性过多时，可以使用原型模式的深拷贝，但是资源消耗提升是一定的
 * <p>
 * 场景：游戏存档
 * 1.当前状态类（ 产出记录（产出一个Key-value结构数据），还原记录（记录））
 * 2.状态集合类（保存记录（记录），取出记录（））
 * 3.客户端创建一个类，设置属性，产出记录添加进历史记录
 */
public class _Test {

    public static void main(String[] args) {

    }

}
